As the demand from users for bandwidth is rapidly increasing, optical transmission systems, where subscriber traffic is transmitted using optical networks, is installed to serve this demand. These networks are typically referred to as fiber-to-the-curb (FTTC), fiber-to-the-building (FTTB), fiber-to-the-premise (FTTP), or fiber-to-the-home (FTTH). Each such network provides an access from a central office (CO) to a building, or a home, via optical fibers installed near or up to the subscribers' locations. As the transmission quantity of such an optical cable is much greater than the bandwidth actually required by each subscriber, a passive optical network (PON), shared between a plurality of subscribers through a splitter, was developed.
An exemplary diagram of a typical PON 100 is schematically shown in FIG. 1. The PON 100 includes M optical network units (ONUs) 120-1 through 120-M (individually referred to generally as ONU 120), coupled to an optical line terminal (OLT) 130 via a passive optical splitter 140. Traffic data transmission may be achieved by using two optical wavelengths, one for the downstream direction and another for the upstream direction. Downstream transmission from the OLT 130 is broadcast to all ONUs 120. Each ONU 120 filters its respective data according to, for example, pre-assigned labels. The ONUs 120 transmit respective data to the OLT 130 during different time slots allocated by the OLT 130 for each ONU 120. The splitter 140 splits a single line into multiple lines, for example, 1 to 32, or, in case of a longer distance from OLT 130 to ONUs 120, 1 to 16. A plurality of endpoint devices (not shown) typically through residential gateway are connected to each ONU 120. A packet sent from the OLT 130 may be multicast to endpoint devices connected to an ONU 120.
Gigabit PON (GPON) is an emerging standard currently being adopted by many telecommunication companies in order to deliver high-speed data services to their subscribers. These services typically include a bundle of TV broadcasting, Internet, and telephone services. To provide these services, an ONU 120 is connected to a residential gateway installed in the premises. As illustrated in FIG. 2, an input of a residential gateway 210 is connected to an ONU 120. The gateway's 210 outputs are coupled to a plurality of endpoint devices 220-1 through 220-N (individually referred to generally as an endpoint device 220). An endpoint device 220 may be, for example, a telephone device, a TV setup box, and a computer to which Internet connectivity is provided. Generally, a residential gateway may provide the functionality of modem and router and may be, for example, a cable modem, a router, a switch, a wireless modem, a wireless router, and so on.
In some cases a data packet sent from the OLT 130 (see FIG. 1) should be multicast to all or some of the endpoint devices 220 coupled to the residential gateway 210. In addition, a data packet sent from an endpoint device 220 can be multicast to some or all other endpoint devices 220. A data packet sent from the OLT 130 over the PON is typically in the form a GEM frame and a data packet directed to or received from an endpoint device is a form of a medium access (MAC) packet. A MAC packet typically includes a payload portion and a header designating at least a MAC address of an endpoint device 220.
When receiving a packet (either a GEM frame or a MAC packet), the residential gateway 210 determines if the packet needs to be multicast to a multicast group, and if so the residential gateway 210 generates MAC packets to be sent to endpoint device 220 in the multicast group. A multicast group includes one or more destination endpoint devices 220 and ports through which multicast frames will be transmitted.
Generally, there are two techniques to generate multicast packets. One technique includes duplicating the payload portion and generating a header to include an address of a destination endpoint device 220 and/or an output interface through which the packet should be sent. The header is created by hard coding the MAC address. Such solution may save in memory space and memory bandwidth as only the payload is duplicated (instead of the entire packet), but there is no flexibility when new endpoint devices 220 having addresses which are not pre-coded are connected to the gateway 210. Another solution includes duplicating the entire data packet and modifying the header to designate the MAC and port ID using a software process. This is a flexible solution, but utilization of the memory space and memory bandwidth is not optimal.